Spring Boot এবং Spring Framework এ JDBC কনফিগারেশন

Java Technologies - স্প্রিং জেডিবিসি (Spring JDBC) Spring JDBC সেটআপ এবং কনফিগারেশন |
78
78

স্প্রিং ফ্রেমওয়ার্ক এবং স্প্রিং বুটের মধ্যে JDBC কনফিগারেশনের পদ্ধতি কিছুটা ভিন্ন হলেও উভয় পদ্ধতি ডেটাবেস অ্যাক্সেসকে সহজ এবং কার্যকর করে তোলে। নিচে Spring Framework এবং Spring Boot ব্যবহার করে JDBC কনফিগারেশন করার প্রক্রিয়া আলাদা আলাদা ভাবে দেখানো হয়েছে।


Spring Framework এ JDBC কনফিগারেশন

১. ডিপেন্ডেন্সি যোগ করা

Spring Framework ব্যবহার করার জন্য প্রয়োজনীয় spring-jdbc এবং ড্রাইভার ডিপেন্ডেন্সি যোগ করতে হবে।

Maven:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.x.x</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.x.x</version>
</dependency>

২. DataSource এবং JdbcTemplate কনফিগারেশন

XML Configuration:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- DataSource Bean -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
        <property name="username" value="root"/>
        <property name="password" value="password"/>
    </bean>

    <!-- JdbcTemplate Bean -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
    </bean>
</beans>

Java Configuration:

@Configuration
public class AppConfig {

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/mydb");
        dataSource.setUsername("root");
        dataSource.setPassword("password");
        return dataSource;
    }

    @Bean
    public JdbcTemplate jdbcTemplate(DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }
}

৩. DAO লেয়ার তৈরি করা

DAO ক্লাসে JdbcTemplate ব্যবহার করে ডেটাবেস অপারেশনগুলি ইমপ্লিমেন্ট করুন।

@Repository
public class UserDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public List<User> getAllUsers() {
        String sql = "SELECT * FROM users";
        return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
    }

    public int saveUser(User user) {
        String sql = "INSERT INTO users (id, name, email) VALUES (?, ?, ?)";
        return jdbcTemplate.update(sql, user.getId(), user.getName(), user.getEmail());
    }
}

Spring Boot এ JDBC কনফিগারেশন

১. ডিপেন্ডেন্সি যোগ করা

Spring Boot ব্যবহার করলে শুধুমাত্র spring-boot-starter-jdbc এবং ড্রাইভার ডিপেন্ডেন্সি যোগ করতে হবে।

Maven:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

২. application.properties ফাইল কনফিগার করা

Spring Boot স্বয়ংক্রিয়ভাবে DataSource এবং JdbcTemplate কনফিগার করে দেয়। application.properties ফাইলে ডেটাবেসের কনফিগারেশন উল্লেখ করতে হবে।

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

অথবা YAML ফাইল ব্যবহার করলে:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver

৩. JdbcTemplate ব্যবহার করে DAO তৈরি করা

Spring Boot স্বয়ংক্রিয়ভাবে JdbcTemplate কনফিগার করে দেয়। আপনি সরাসরি এটি ব্যবহার করতে পারেন।

@Repository
public class UserDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public List<User> getAllUsers() {
        String sql = "SELECT * FROM users";
        return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
    }

    public int saveUser(User user) {
        String sql = "INSERT INTO users (id, name, email) VALUES (?, ?, ?)";
        return jdbcTemplate.update(sql, user.getId(), user.getName(), user.getEmail());
    }
}

Spring Framework বনাম Spring Boot

ফিচারSpring FrameworkSpring Boot
কনফিগারেশনম্যানুয়ালভাবে DataSource এবং JdbcTemplate তৈরি করতে হয়।অটো কনফিগারেশন সরবরাহ করে।
Boilerplate CodeXML বা Java Config প্রয়োজন।সরাসরি application.properties ফাইল ব্যবহার।
নির্ভরশীলতাস্পেসিফিক লাইব্রেরি ডিপেন্ডেন্সি যোগ করতে হয়।Starter প্যাকেজ দিয়ে প্রয়োজনীয় ডিপেন্ডেন্সি ইনক্লুড।
সহজতাকিছুটা জটিল।অনেক বেশি সহজ এবং দ্রুত।

উপসংহার

Spring Framework এবং Spring Boot উভয়ই JDBC কনফিগারেশনে কার্যকর, তবে Spring Boot স্বয়ংক্রিয় কনফিগারেশন এবং সরলীকৃত ডেটাবেস ইন্টিগ্রেশনের জন্য আরও বেশি উপযোগী। ছোট বা দ্রুত ডেভেলপমেন্টের ক্ষেত্রে Spring Boot সেরা, কিন্তু বড় এবং কাস্টমাইজড প্রোজেক্টের জন্য Spring Framework ব্যবহার করা যেতে পারে।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion